package services.impl;

import services.ClienteService;
import services.CondicionPagoService;
import dao.CondicionPagoDAO;
import dao.impl.CondicionPagoDAOImpl;
import dominio.Cliente;
import dominio.CondicionPago;

public class CondicionPagoServiceImpl implements CondicionPagoService {
	private ClienteService cService;	
	private CondicionPagoDAO cDAO;
	private static CondicionPagoServiceImpl instancia = null;
	
	private CondicionPagoServiceImpl(){
		cService = ClienteServiceImpl.getInstancia();
		cDAO = CondicionPagoDAOImpl.getInstancia();
	}
	
	public static CondicionPagoServiceImpl getInstancia(){
		if(instancia == null){
			instancia = new CondicionPagoServiceImpl();
		}
		return instancia;
	}
	
	@Override
	public CondicionPago generarCondicionPago(Integer cantCuotas, Integer idCliente) {
		CondicionPago condicionPago = new CondicionPago();
		condicionPago.setCuotas(cantCuotas);
		Float interes;
		if(cantCuotas < 6){
			interes = new Float(12.5);
		}else{
			interes = new Float(18.0);
		}
		condicionPago.setRecargoInteres(interes);
		Cliente cliente = cService.findByID(idCliente);
		condicionPago.setCliente(cliente);
		
		return condicionPago;
	}

	@Override
	public void grabarCondicionPago(CondicionPago condPago) {
		cDAO.grabarCondicionPago(condPago);
	}

}
